MorphIT Slots
Due to the fact that the web interface works fundamentally different and offers more possibilities than the native interface, there are well-known widget slots that are used to control the behaviour of the widget in MorphIT. Native these slots have no special meaning, therefore most slots are used in one direction (ClassiX Core (Native) -> MorphIT). However, bidirectional slots are necessary in the use cases where the user can change the slot value in MorphIT and ClassiX has to notice the new value.
Basically all slots with the Specifier morphIt, which are set on a widget, are also exported to MorphIT. The following slots currently have a special meaning. Bidirectional slots are highlighted in the following table.
Widget Slots Name | Widget type | Description |
---|
morphIt.description | String, text, MLText, ObjectListView | This allows you to override the widget type for MorphIT. Currently the following conversions are supported: - String to Date : The value "date" must be selected for this.
- Text/MLText to Rich Text Editor: The value "richtext" must be selected.
- ObjectListView to PivotTable: For this the value "pivot" must be selected.
Example: "date" Widget Put(morphIt.description)
|
morphIt.drawingID | Prompts, Toplevel Group, Buttons, TreeList, ObjectListView | This slot can be used to inform MorphIT about certain properties of the display. These can be listed as a comma separated list. Value | Widget | Presentation |
---|
bold | Prompt | Text is displayed bold. |
---|
call_to_action | Button | button is highlighted in a special colour. (For a definition of Call to action see e.g. Wikipedia. Further references can be found here and here). |
---|
stretch_bitmap | Button | 4.13.1 This stretches the button bitmap to the width and height of the button. The aspect ratio of the image is ignored. If the button does not contain a bitmap, this specification is ignored. |
---|
keep_ratio | Button | 4.13.1 If this property is specified together with stretch_bitmap, then the button bitmap is scaled to the size of the button while maintaining the aspect ratio of the image. This may result in margins. |
---|
centre | Group | Group is centred instead of left-aligned as is normally the case. |
---|
non_foldable | TreeList | TreeList nodes can no longer be expanded and collapsed. |
---|
non_selectable | ObjectListView, TreeList | Useful for tables that do not query GetObjectsSelected. The normally existing check or radio boxes for the selection are not displayed. |
---|
no_menu | ObjectListView | button for the menu of an ObjectListView is not displayed (and therefore no menu). This does not affect the column menus. |
---|
no_paging | ObjectListView | Paging control area in the ObjectListView is not displayed, independent of the flag NO_COLUMNHEADER, otherwise the flag NO_COLUMNHEADER decides about the display of the paging control area |
---|
border | Group | If set, the group gets a frame. |
---|
full_width | ObjectListView | This distributes the free width to those columns that do not have a fixed width. This behaviour automatically switches off when all columns get a fixed width (either specified by the AppsWH developer or by the end user). |
---|
|
morphIt.externalID | Any | A list of attributes of the form (name=value;name=value) that defines a special semantics for static export. |
morphIt.format | link | This slot can be used to give CSS formatting instructions to the widget. |
morphIt.isHidden | Toplevel Group | If this value is set to TRUE (!= 0), the group is collapsed from the beginning and can be expanded by the user. Normally the groups are expanded at the beginning and can be closed. |
morphIt.masterObject | String | A JSON array of strings can be stored here, which are then listed as a selection list in MorphIT. |
morphIt.model | Button | Via this slot, MorphIT can be informed about certain properties of the functionality of a widget. These can be listed as a comma separated list. Value | Widget | Presentation |
---|
pass_on_select | Button | If a button widget has a context menu, it is automatically converted to a drop-down button. As a result, the left mouse click no longer sends a SELECT event and instead displays the context menu as a drop-down menu. If the flag "pass_on_select" is set, this behaviour is deactivated and the context menu appears only when right-clicking and the SELECT event is passed on to ClassiX as usual when left-clicking (engl. pass on). |
---|
|
morphIt.number | Menu item | Special roles in MorphIT are assigned to the menu items marked in this way. They are often displayed differently and in a separate area. - "Dropdown" indicates a drop-down menu. For this, not the top node is displayed, but the sub-nodes are options of a drop-down and as usual in drop-down menus the active element is displayed. It is further assumed that the sub-items of the marked menu item have no further sub-items, i.e. that no further nesting occurs. So you can e.g. realize the selection of the current language.
- "Notice" indicates the imprint and similar contents. These are normally linked in the footer and are not visible in the regular menu.
- "Notice=URL" (4.1.1) marks exactly the same as "Notice" an entry that is displayed in the footer, only that a link entry is generated in the footer from this, which directly opens the given URL. Opening the link does not trigger a SELECT event.
- "Link=URL"(4.11.4) works the same as Notice=URLwith the difference that the menu item does not end up in the footer.
- "UserIcon" indicates the user menu. The entry is normally marked with a user icon. It is expected that it does not have a submenu but can only be clicked directly.
|
morphIt.printPage | ObjectListView | This allows the number of lines per page in an ObjectListView to be specified and read out. Only positive values and 0 are allowed. |
morphIt._jsonString | ObjectListView | This slot enables the IV developer to define extensive widget configurations bidirectionally in JSON format (as a string) and to read the user changes in MorphIT. With the ObjectListView this slot is used to define the configuration of the corresponding pivot table. |
morphIt.fixTime | Input widgets | Overwrites the server configuration input_delay for individual widgets. input_delay determines the time in milliseconds that must elapse after the last keystroke (input) before an ALTERED event is automatically triggered, even if the field has not yet been left. A negative value is interpreted as an infinite timeout. |